angular.module('confplanservicioApp').controller('confplanservicioCtrl', function($scope,ngDialog,planServicioServices){

	$scope.titulo_mensajes = "Información!";
	$scope.descripcion_mensajes  = "En esta vista puede administrar el maestro de configuración de plan de servicios";

	var divMessages  = document.querySelector('#messageBox');
	divMessages.className = "alert alert-info alert-dismissable";
	$scope.tipoServicio = new Array();
	$scope.planes = new Array();
	$scope.tipoAfiliacion =  new Array();
	$scope.niveles =  new Array();



	/**
	 * Se cargan de forma paralela los maestros
	 * */
	$scope.cargarMaestros = function() {
		try{
			var exito = function(respuesta){
				try{
					cargarTipoServicio(angular.fromJson(respuesta.data.listaTipoServicio));
					cargarPlanes(angular.fromJson(respuesta.data.listaPlan));
					cargarTipoAfiliacion(angular.fromJson(respuesta.data.listaTipoAfiliacion));
					cargarNiveles(angular.fromJson(respuesta.data.listaNivel));

				}catch(e){
					alert(e.message);
				}
			}

			var error = function(respuesta){
				$scope.titulo_mensajes = "Error!";
				$scope.descripcion_mensajes  = "Se produjo un error al momento de cargar los valores iniciales";
				divMessages.className = "alert alert-danger alert-dismissable";
			}
			planServicioServices.sendGet(hostSnake+context+endPointDatosMaestro+methodGetMaestros,exito,error);
		}catch(e){
			$scope.titulo_mensajes = "Error!";
			$scope.descripcion_mensajes  = "Se produjo un error al momento de cargar los valores iniciales";
			divMessages.className = "alert alert-danger alert-dismissable";
		}

	}


	cargarTipoServicio = function(tipoServicio){
		try{
			
			$scope.tipoServicio.push({codatmaestro: null,dsdatmaestro: "Seleccione"});
			alert($scope.tipoServicio);
			$.each(tipoServicio, function( index , datomaestro ) {
				$scope.tipoServicio.push(datomaestro);
			});
		}catch(e){
			alert(e.menssage);
		}
	}

	cargarPlanes = function(planes){

		$scope.planes.push({codatmaestro: null,dsdatmaestro: "Seleccione"});

		$.each(planes, function( index , datomaestro ) {
			$scope.planes.push(datomaestro);
		});
	}

	cargarTipoAfiliacion = function(tipoAfiliacion){

		$scope.tipoAfiliacion.push({codatmaestro: null,dsdatmaestro: "Seleccione"});

		$.each(tipoAfiliacion, function( index , datomaestro ) {
			$scope.tipoAfiliacion.push(datomaestro);
		});
	}

	cargarNiveles = function(niveles){

		$scope.niveles.push({codatmaestro: null,dsdatmaestro: "Seleccione"});

		$.each(niveles, function( index , datomaestro ) {
			$scope.niveles.push(datomaestro);
		});
	}


	$scope.cargarMaestros();


});